<?php
/*
 * categories.php
 *
 * Copyright (c) 2011 Dawid Boruta <diabelb@gmail.com>.
 *
 * Niniejszy program jest wolnym oprogramowaniem - możesz go rozpowszechniać
 * dalej i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU
 * wydanej przez Fundację Wolnego Oprogramowania, według wersji 3 tej Licencji
 * lub dowolnej z późniejszych wersji.
 *
 * Niniejszy program rozpowszechniany jest z nadzieją, iż będzie on użyteczny -
 * jednak BEZ ŻADNEJ GWARANCJI, nawet domyślnej gwarancji
 * PRZYDATNOŚCI HANDLOWEJ albo PRZYDATNOŚCI DO
 * OKREŚLONYCH ZASTOSOWAŃ. Bliższe informacje na ten temat można
 * uzyskać z Powszechnej Licencji Publicznej GNU.
 *
 * Kopia Powszechnej Licencji Publicznej GNU powinna zostać ci dostarczona
 * razem z tym programem. Jeżeli nie została dostarczona, odwiedź
 * <http://www.gnu.org/licenses/>.
 */

/**
 * @author Dawid Boruta <diabelb@gmail.com>
 */
class Categories extends CI_Model {
    public function __construct() {
        parent::__construct();
    }

    /**
     * Zwraca kategorię o podanym numerze id.
     * @param <type> $id Id katerorii.
     * @return resource
     */
    public function get_category($id, $lang) {
        $this->db->from('menu_categories, menu_categories_translates, languages');
        $this->db->where('menu_categories.id', $id)
                ->where('menu_categories.id', 'menu_categories_translates.category_id', false)
                ->where('languages.id', 'menu_categories_translates.language_id', false)
                ->where('languages.language', $lang);
        return $this->db->get();
    }

    /**
     * Zwraca wszystkie kategorie.
     * @return resource
     */
    function get_categories() {
        //$this->db->order_by('name');
        return $this->db->get('categories');
    }

    /**
     * Dodaje nową kategorię.
     * @param array $data
     * @return bool
     */
    function add_category($data) {
        return $this->db->insert('categories', $data);
    }

    /**
     * Usuwa kategorię o podanym numerze id.
     * @param integer $id
     * @return bool
     */
    function delete_category($id) {
        $this->db->where('id', $id);
        return $this->db->delete('categories');
    }

    /**
     * Aktualizuje kategorię o podanym numerze id.
     * @param integer $id
     * @param array $data
     * @return bool
     */
    function update_category($id, $data) {
        $this->db->where('id', $id);
        return $this->db->update('categories', $data);
    }
}
?>
